package com.wqnmdb.im.netty.dispose;


import com.wqnmdb.im.domain.mongo.ImUser;
import com.wqnmdb.im.domain.netty.protobuf.NettyModel;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelId;

public interface MsgDispose {

    void auth(ChannelHandlerContext ctx, ImUser user);

    void createSession(ChannelHandlerContext ctx, NettyModel.ReqModel reqModel, ImUser user);

    void pong(ChannelHandlerContext ctx);

    void singleSend(ChannelHandlerContext ctx, NettyModel.ReqModel reqModel, ImUser user);

    void affirm(ChannelHandlerContext ctx, NettyModel.ReqModel reqModel, ImUser user);

    void recall(ChannelHandlerContext ctx, NettyModel.ReqModel reqModel, ImUser user);

    void msgError(ChannelHandlerContext ctx, NettyModel.ReqModel reqModel);

    void sendResp(ChannelHandlerContext ctx, NettyModel.RespModel builder);
}
